var gulp = require('gulp'), //获取gulp
    sass = require('gulp-sass'),//sass scss
    sourcemaps = require('gulp-sourcemaps'), //生成sourcemap文件
    cssFormat = require('gulp-css-format'), //格式化css文件
    livereload = require("gulp-livereload"); //监听文件发生变化时，浏览器自动刷新页面

gulp.task('sass', function(){
  return gulp.src('styles/user.scss')
    .pipe(sass().on('error', sass.logError))
  	.pipe(sourcemaps.init()) //该任务调用的模块
    .pipe(sass())
    .pipe(sourcemaps.write('/'))
    .pipe(gulp.dest('styles'))
});
//定义cssformat任务
gulp.task('cssformat', function () {
    //cssFormat参数
    var options = {
        indent: 0, //设置选择器和声明之间的缩进，默认：0
        hasSpace: false //属性和值之间插入一个空格,默认：false
    };
    gulp.src('styles/user.css') //该任务针对的源文件
        .pipe(cssFormat(options))
        .pipe(gulp.dest('styles')); //该任务输出的位置
})
//在命令行gulp auto启动此任务
gulp.task('auto', function () {
    livereload.listen();
    //监听文件修改，当文件修改则执行less任务,任务可多个
    gulp.watch('styles/user.scss', ['sass']);
    gulp.watch('styles/user.css', ['cssformat']);
})

// 默认任务
gulp.task("default",["auto"]);